package com.dyna.digit.process.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dyna.digit.process.domain.entity.DigitProject;
import com.dyna.digit.process.domain.entity.DigitUnitInfo;
import com.dyna.digit.process.domain.query.DigitProjQuery;
import com.dyna.digit.process.domain.resp.DigitOverProjResp;
import com.dyna.digit.process.domain.resp.DigitProjectPage;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author Admin
* @description 针对表【digit_project】的数据库操作Mapper
* @createDate 2023-11-11 16:34:20
* @Entity com.dyna.digit.process.domain.entity.DigitProject
*/

public interface DigitProjectMapper extends BaseMapper<DigitProject> {

    /**
     * 查询项目分页数量
     * @param digitProjQuery 查询条件
     * @return Long
     */
    Long queryDigitProjectCount(@Param("req") DigitProjQuery digitProjQuery);

    /**
     * 查询项目分页列表
     * @param digitProjQuery 查询条件
     * @return List<DigitProjectPage>
     */
    List<DigitProjectPage> queryDigitProjectPage(@Param("req") DigitProjQuery digitProjQuery);

    /**
     * 新增项目
     * @param digitProject 项目
     * @return boolean
     */
    boolean saveProject(DigitProject digitProject);

    /**
     * 查询项目单位信息
     */
    List<DigitUnitInfo> queryUnitList();

    /**
     * 根据类型查询单位数据
     * @param type 单位类型
     * @return List<DigitUnitInfo>
     */
    List<DigitUnitInfo> queryUnitListByType(@Param("type") String type);

    /**
     * 关联历年项目
     * @return List<DigitOverProjResp>
     */
    List<DigitOverProjResp> queryOverProjList();

    /**
     * 项目详情
     * @param id 项目id
     * @return DigitProject
     */
    DigitProject detail(@Param("id") Integer id);

}




